package com.单例设计模式;

public class 饿汉式VS懒汉式 {
    public static void main(String[] args) {
        /**饿汉式
         * 时机：类加载时，就创建对象。
         * 优点：简单，线程安全。
         * 缺点：类加载时就创建对象，如果不用对象，那么就会浪费内存。
         *
         * 懒汉式
         * 时机：需要用到对象时才创建对象。
         * 优点：避免浪费内存。
         * 缺点：线程不安全。如果多线程同时访问，可能会出现多个对象。不能保证对象的唯一性。
         *
         * java.lang.Runtime 是经典的单例设计模式（懒汉式）
         */
        Runtime runtime = Runtime.getRuntime();
        /**
         * public class Runtime {
         *     private static final Runtime currentRuntime = new Runtime();  //类加载时创建对象
         *
         *     private static Version version;
         *
         *
         *public static Runtime getRuntime () {  //1.提供外部获取Runtime对象的静态方法
         *return currentRuntime;
         *}
         *
         *
         *     private Runtime() {  //2.私有化构造方法，保证对象唯一性
        }
         */
    }
}
